package com.fjnu.dao;

import com.fjnu.entity.Comment;

import java.util.List;

/**
 * 评论模块DAO接口
 * 对应实验任务3中的评论模块方法定义
 */
public interface CommentDao {
    
    /**
     * （10）添加新的评论
     * @param newComment 评论对象
     * @return 插入成功返回1，失败返回0
     */
    int insert(Comment newComment);
    
    /**
     * （11）点赞
     * @param commentId 评论ID
     * @param incremented 点赞增量
     * @return 更新成功返回1，失败返回0
     */
    int updateSupport(Integer commentId, Integer incremented);
    
    /**
     * （12）点差
     * @param commentId 评论ID
     * @param incremented 点差增量
     * @return 更新成功返回1，失败返回0
     */
    int updateOppose(Integer commentId, Integer incremented);
    
    /**
     * （13）查询文章对应的所有评论
     * @param articleId 文章ID
     * @return 评论列表，若无结果则返回null
     */
    List<Comment> selectAllCommentsForArticle(Integer articleId);

    /**
     * （14）查询文章对应范围的所有评论
     * @param articleId 文章ID
     * @param startIndex 起始索引
     * @param endIndex 结束索引
     * @return 评论列表，若无结果返回null
     */
    List<Comment> selectCommentsWithLimitForArticle(Integer articleId, Integer startIndex, Integer endIndex);
}